#include "testTerminosPorOrdenDeAparicion.h"
#include "../RTT/TerminosPorOrdenDeAparicion.h"
#include "testTools.h"

using namespace std;

void testTPOA()
{
	TerminosPorOrdenDeAparicion* terminos = new TerminosPorOrdenDeAparicion("terminos.bin",true);

	cout << "\ntest arch x orden de aparicion: ";
	cout << "\n\nPruebo guardar terminos: ";
	
	size_t id1 = terminos->agregar("hola");
	size_t id2 = terminos->agregar("mundo");
	size_t id3 = terminos->agregar("!!!");

	imprimirSelectivo("\nguardo primer termino: \t\t",(id1==1));
	imprimirSelectivo("\nguardo segundo termino:\t\t",(id2==2));
	imprimirSelectivo("\nguardo tercer termino: \t\t",(id3==3));

	cout << "\n\nrecupero los terminos agregados: ";

	char* recuperador1 = terminos->devolver(id1);
	char* recuperador2 = terminos->devolver(id2);
	char* recuperador3 = terminos->devolver(id3);

	imprimirSelectivo("\nrecupero primer termino: \t",sonIguales(recuperador1,"hola"));
	imprimirSelectivo("\nrecupero segundo termino: \t",sonIguales(recuperador2,"mundo"));
	imprimirSelectivo("\nrecupero tercer termino: \t",sonIguales(recuperador3,"!!!"));

	size_t cant = terminos->obtenerCantidadDeTerminos();
	imprimirSelectivo("\nchequeo cantidad de terminos: \t",(cant==3));
	cout << "\n";

	free(recuperador1);
	free(recuperador2);
	free(recuperador3);
	delete(terminos);
}


